package com.wing.purchase.model.response;

import com.wing.purchase.model.entity.PurchaseDeliveryRecord;
import com.wing.purchase.model.entity.PurchaseSignForProduct;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.wing.purchase.model.entity.PurchaseSignFor;

/**
 * 采购签收VO
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class PurchaseSignForVO {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 签收编号
     */
    private String signNo;

    /**
     * 出入库类型
     */
    private Long inventoryType;

    /**
     * 出入库类型编码
     */
    private String inventoryTypeCode;

    /**
     * 出入库类型名称
     */
    private String inventoryTypeName;

    /**
     * 签收业务类型
     */
    private String signBusinessType;

    /**
     * 签收业务类型名称
     */
    private String signBusinessTypeName;

    /**
     * 签收任务ID
     */
    private Long signTaskId;

    /**
     * 签收物料数量
     */
    private Integer signSkuNum;

    /**
     * 状态
     */
    private String status;

    /**
     * 状态描述
     */
    private String statusName;

    /**
     * 质检状态
     */
    private String checkStatus;

    /**
     * 质检状态名称
     */
    private String checkStatusName;

    /**
     * 账单ID
     */
    private Long billId;

    /**
     * 采购签收产品集合
     */
    private List<PurchaseSignForProduct> purchaseSignForProducts = new ArrayList<>();

    /**
     * 采购签收产品集合
     */
    private List<PurchaseSignForProductVO> signProductList = new ArrayList<>();

    /**
     * 物流记录编号
     */
    private String logisticsNo;

    /**
     * 采购单编号
     */
    private String sn;
    /**
     * 供应商ID
     */
    private Long supplierId;

    /**
     * 供应商编码
     */
    private String corporateCode;

    /**
     * 供应商
     */
    private String corporateName;

    /**
     * 签收物料数
     */
    private String singSkuNum;

    /**
     * 金额
     */
    private BigDecimal totalAmount;

    /**
     * 运输方式
     */
    private String transportMode;

    /**
     * 运输方式描述
     */
    private String transportModeDesc;

    /**
     * 物流公司
     */
    private String logisticsCompany;

    /**
     * 物流录入类型
     */
    private String enterType;

    /**
     * 物流录入类型名称
     */
    private String enterTypeName;

    /**
     * 运单编号
     */
    private String waybillNo;

    /**
     * 车牌号
     */
    private String plateNo;

    /**
     * 快递单号
     */
    private String courierNo;

    /**
     * 电话
     */
    private String phone;

    /**
     * 物流录入人
     */
    private String deliveryCreatorName;

    /**
     * 物流录入时间
     */
    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
    private LocalDateTime deliveryCreateTime;

    /**
     * 仓库ID
     */
    private Long warehouseId;

    /**
     * 仓库名称
     */
    private String warehouseName;

    /**
     * 供应商联系人
     */
    private String businessContact;

    /**
     * 采购部门
     */
    private String departmentName;

    /**
     * 采购申请人
     */
    private String purchaseApplicant;

    /**
     * 订单审核人
     */
    private String auditorName;


    private String supplierName;

    private String supplierCode;




}
